<?php
// +----------------------------------------------------------------------
// | MubinAdmin
// +----------------------------------------------------------------------
// | 版权所有 2015~2020 泉州市牧滨电子商务有限公司 [ http://www.mubin.com ]
// +----------------------------------------------------------------------
// | 官方网站: http://www.mubin.com
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 代码仓库：https://gitee.com/mubin/MubinAdmin
// +----------------------------------------------------------------------

namespace app\admin\model;

use app\common\traits\Models;
use think\Model;
use think\facade\{Log, Request, App};

/**
 * Description of AdminUser
 * 会员模型
 * @property  error
 */
class AdminUser EXTENDS Model
{
	use Models;
    protected $autoWriteTimestamp = true;
    protected $insert = [
        'status'   => 1,
        'reg_ip'   => '',
        'reg_time' => '',
    ];

    /*===============获取器===============*/
    /**
     * 注册ip
     * @param $value
     * @return mixed
     */
    public function getLastLoginIpAttr($value)
    {
        return empty($value) === false ? long2ip($value) : '';
    }

    /**
     * 最后登录时间
     * @param $value
     * @return mixed
     */
    public function getLastLoginTimeAttr($value)
    {
        return empty($value) === false ? date('Y-m-d H:i:s', $value) : '';
    }

    /**
     * 注册时间
     * @param $value
     * @return mixed
     */
    public function getRegTimeAttr($value)
    {
        return empty($value) === false ? date('Y-m-d H:i:s', $value) : '';
    }

    /**
     * 注册ip
     * @param $value
     * @return mixed
     */
    public function getRegIpAttr($value)
    {
        return empty($value) === false ? long2ip($value) : '';
    }

    /*===============修改器===============*/
    /**
     * 设置ip
     * @param $value
     * @return int
     */
    public function setRegIpAttr($value)
    {
        if (empty($value) === true) {
            return ip2long(Request::ip());
        }
        if (is_int($value) === false) {
            return ip2long($value);
        }
        return $value;
    }

    /**
     * 设置注册时间
     * @param $value
     * @return int
     */
    public function setRegTimeAttr($value)
    {
        return empty($value) === true ? Request::time():$value;
    }

    /**
     * 最后登录ip
     * @param $value
     * @return int
     */
    public function setLastLoginIpAttr($value)
    {
        if (empty($value) === true) {
            return ip2long(Request::ip());
        }
        if (is_int($value) === false) {
            return ip2long($value);
        }
        return $value;
    }

    /**
     * 最后登录时间
     */
    public function setLastLoginTimeAttr()
    {
        return Request::time();
    }

    /**
     * 添加密码
     * @param $value
     * @return mixed
     */
    public function setPasswordAttr($value)
    {
        return ucenter_md5($value);
    }
}